The present invention relates to systems controlled by remote control units. More specifically, the present invention relates to a system for identifying a code set used to control a device with a remote control unit.
Currently, many electronic devices are controlled with remote control units. The remote control units typically emit electromagnetic radiation, of some type, which is detected by the electronic device to be controlled. The electromagnetic transmissions from the remote control unit contain a control code which is captured by the electronic device and used to control the electronic device.
For instance, one typical remote control unit receives a user input (such as when a user presses a button on the remote control unit) and transmits a control code corresponding to the user input by encoding the control code in an infrared transmission which is emitted by the remote control unit. The electronic device (which may typically be one of a wide variety of electronic devices, such as a television set, DVD player, CD player, etc.) contains an infrared receiver that receives the infrared transmission from the remote control unit and converts it into the digital control code represented by the infrared transmission. The digital code is used in controlling the electronic device as desired by the user.
A number of problems are presented by such systems. Typically, a plurality of different electronic devices are used in a home. For instance, a home may have a television set, a set top box, a DVD player, etc., all from different manufacturers, and all of which are controlled by different remote control units. The infrared code sets used by each of the remote control units to represent user inputs will typically differ, based on the manufacturer of the electronic device. In other words, the specific code representing depression of the number five button (for instance) on the remote control keypad may differ from one remote control unit to the next, based on the manufacture of the remote control unit. In fact, the code sets can even differ based on specific models or electronic devices made by a single manufacturer.
However, it may also be desirable for the user to be able to control all of the electronic devices with a single remote control unit. For instance, and by way of example only, the user may wish to control the set top box and the television set with a “universal remote control unit”, which can be used in different modes to control the different electronic devices.
The user may also wish to have a media computer that controls the electronic devices. For instance, if a user wishes to record a television program when the user is not present, the user may program a media computer to automatically change the channel of the set top box to the desired channel, and to record the television program at a predetermined time.
In either of these two scenarios, another device (either the universal remote control or the media computer), which is separate from the remote control unit that came with the set top box must be programmed with the code set used by the remote control unit that came with the set top box. In the past, this has not been an easy task. It has required the user to somehow identify the code set used to control the electronic device (e.g., the code set used by the set top box remote) to the universal remote or media computer.
One prior art scenario for identifying the code set corresponding to an electronic device is to allow the user to select a code set from a relatively lengthy database of potential code sets. For example, in traditional systems where a universal remote control is being trained to work with a television set, the user is instructed to choose a code set from a printed index of manufacturers or codes. This is often an arduous process. Similarly, any given manufacturer may have a plurality of different code sets it uses for different models of electronic devices. Therefore, such a scenario can take an undesirable amount of time and is error prone.
Similarly, if the correct code set cannot be found in the printed index, the user is simply out of luck or is required to train the discrete commands of the universal remote control unit on a one-by-one basis. This latter process (where the universal remote control is required to learn the IR code set) is also cumbersome and error prone. In such prior learning processes, the user is typically required to carefully align the universal remote control unit with the remote control unit for the television set (or other electronic devices). The user is then required to place the universal remote control unit in a learning mode, and then to activate the various buttons on the remote control unit corresponding to the television set, such that the infrared transmissions from the remote control unit corresponding to the television set can be captured and learned by the universal remote control unit and stored for later use.
The circuitry used in this conventional learning process is quite sensitive. For instance, the infrared code sets of different manufacturers are transmitted using different carrier frequencies. Therefore, not only must the universal remote control learn the overall wave shape of the infrared transmission corresponding to each control code, but it must also discern, to a fairly high degree of accuracy, the carrier frequency used for transmitting the overall waveform. Thus, the two remote control units must not only be carefully aligned, but also must conventionally be placed very close to one another (such as within one or several inches of one another). Of course, this type of system is highly error prone as well.
There are a variety of other disadvantages associated with prior IR learning systems as well. For instance, when in the learning mode, the user may forget which buttons have already been learned by the universal remote, and may inadvertently re-enter some buttons or may skip some buttons. Similarly, if the remote control units are moved slightly out of alignment during the learning process, the codes may be erroneously learned. These errors will typically not be known by the user until the entire learning process has been completed and the user attempts to control the electronic device using the universal remote control. Only then will the user realize that learning was unsuccessful, and the entire learning process will normally need to be repeated.